package com.aliang.shopping.service;

import com.aliang.shopping.common.PageResult;
import com.aliang.shopping.model.dto.goods.GoodsEsDto;
import com.aliang.shopping.model.dto.goods.GoodsPageDto;
import com.aliang.shopping.model.po.Goods;
import com.aliang.shopping.model.vo.CommonUserInfoVO;
import com.aliang.shopping.model.vo.goods.GoodsVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author ShiBaLover
* @description 针对表【goods】的数据库操作Service
* @createDate 2024-11-23 18:37:59
*/
public interface GoodsService extends IService<Goods> {

    PageResult<GoodsVO> selectPage(GoodsPageDto pageDTO);

    List<GoodsEsDto> getListPageWithEs(GoodsPageDto goodsPageDto);

    List<GoodsEsDto> getListWithEs(List<Long> goodsIds);

    void insertGoodsToEs(Goods poByInsertDTO);

    void updateStatusToEs(Long id);

    void updateGoodsToEs(Goods goods);

    void deleteByEs(List<Long> ids);

    CommonUserInfoVO getBusinessInfoById(Long goodsId);

    List<GoodsEsDto> getGoodsListById(List<Long> goodsIds);

    List<GoodsEsDto> getGoodsListByUserId(Long userId);

    List<GoodsEsDto> getRecommendGoodsList(Long userId);


    List<GoodsEsDto> getOrderList(String keyword);
}
